Indexation dans EMu

EMu dispose d’un certain nombre de méthodes d’indexation pour un accès efficace et en temps opportun aux données. Une méthode d’indexation est un algorithme ou un ensemble de règles permettant de rechercher des données de manière indirecte. Le type d’indexation le plus simple, connu sous le nom de requête exhaustive, est l’absence totale d’index. Dans ce cas, chaque enregistrement est lu séquentiellement et comparé aux termes de requête saisis. S’il y a une correspondance, l’enregistrement est ajouté à l’ensemble des enregistrements correspondants, puis le suivant est lu. La méthode de requête exhaustive est très efficace en termes d’espace utilisé, car seules les données doivent être stockées. Toutefois, une recherche peut prendre un certain temps si le nombre d’enregistrements est très élevé (plusieurs heures pour 750 000 enregistrements).

Pour faciliter la recherche à travers un grand nombre d’enregistrements, des index sont construits pour fournir des accès rapides aux données qui correspondent à des critères de recherches donnés. Les index fournissent des façons indirectes de rechercher des données en utilisant une méthode judicieuse : lorsqu’un terme de recherche est entré, les index sont consultés pour produire les enregistrements correspondants. Il y a un coût associé à l’indexation : le besoin de stockage des informations d’indexation en plus des données.

Les concepteurs de bases de données disposent d’un grand nombre de méthodes d’indexation, chacune ayant ses avantages et ses inconvénients. Le moteur de base de données d’EMu utilise deux méthodes d’indexation souples pour permettre une récupération rapide des données à partir d’un grand nombre d’enregistrements :

  • La première est connue sous le nom de hachage linéaire (linear hashing) et permet des recherches à grande vitesse.
  • La seconde porte le nom assez long de Schéma de codage super-imposé à deux niveaux pour récupération de correspondance partielle, (abrégé en méthode à Deux niveaux) et fournit un cadre général pour effectuer de nombreuses recherches basées sur un terme. Un terme est simplement une séquence de caractères qui constitue l’entité de base pour la requête. Par exemple, dans le cadre d’une requête mot pointé (où il suffit de saisir un mot pour trouver des enregistrements correspondants), le terme est un mot.

Un certain nombre d’options d’indexation préconfigurées sont distribuées avec EMu. En particulier, un certain nombre de champs qui contiennent des données basées sur le nom ont déjà l’indexation phonétique activée. De même, de nombreux champs descriptifs (par exemple, Notes) ont un ensemble d’indexation basé sur un stem.

Une troisième méthode d’indexation, disponible avec EMu 8.0, permet d’utiliser Apache Solr pour la recherche plutôt que l’indexation par défaut basée sur Texpress. Lorsque l’indexation Solr est activée, Solr ne remplace pas Texpress en tant que moteur de base de données sous-jacent utilisé par EMu, mais remplace plutôt le composant de recherche de Texpress. Texpress sous-traite effectivement son composant de recherche à Solr, et Solr renvoie les résultats à Texpress pour qu’il les distribue. Des détails sont disponibles ici.

Il est possible d’ajuster l’indexation via les entrées de Registre. Ces entrées permettent aux institutions d’adapter les méthodes d’indexation pour fournir les recherches les plus efficaces possibles sans gaspiller l’espace disque avec des méthodes non utilisées.

Les utilisateurs du groupe Admin peuvent utiliser une tâche d’administration pour visualiser les informations d’indexation.